C# 数组排序`简单问题`急`在线等!!!

来源:百度知道 编辑:UC知道 时间:2024/05/19 12:54:27
protected void btnxyb_Click(object sender, EventArgs e)
{
int[] s = { 1,2,3,0,4,6,9,8,7};

lblcby.Text = "{ 1,2,3,0,4,6,9,8,7}";
Sort result = new Sort();

lblbyc.Text = result.Click(s).ToString();

}
}
public class Sort
{
public int Click(int[] Yclb)
{
for (int i = 0; i < Yclb.Length; i++)
{
for (int j = i; j < Yclb.Length; j++)
{
if (Yclb[i] > Yclb[j])
{
int temp = Convert.ToInt32(Yclb[i]);
Yclb[i] = Yclb[j];
Yclb[j] = temp;
}
return temp;
}
}
}
}
}
我用冒泡排序法排序`(从大到小的)

错误比较多。
1.temp没有必要在循环体外面return。这样你只是返回了单一的值。
2.temp = Convert.ToInt32(Yclb[i]); 没有必要,Yclb[i]本来就是int类型的。
3.你返回的应该是一个数组而不是一个数值。
4.输出结果的时候应该用循环。
5.大括号匹配有错。
改过的代码:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

protected void btnxyb_Click(object sender, EventArgs e)
{
int[] s = { 1,2,3,0,4,6,9,8,7};

lblcby.Text = "{ 1,2,3,0,4,6,9,8,7}";
Sort result = new Sort();

s = result.Click(s);
lblbyc.Text = "{";
for (int i = 0; i < s.Length;i++ )
{
lblbyc.Text += s[i].ToString() + ",";
}
lblbyc.Text += "}";
}
}
public class Sort
{
public int[]